/*
 * This file is part of JGAP.
 *
 * JGAP offers a dual license model containing the LGPL as well as the MPL.
 *
 * For licensing information please see the file license.txt included with JGAP
 * or have a look at the top of class org.jgap.Chromosome which representatively
 * includes the JGAP license policy applicable for any file delivered with JGAP.
 */
package examples.monalisa.gui;

import javax.xml.ws.Action;

/**
 * Shows a dialog that informs about the application.
 *
 * @author Yann N. Dauphin
 * @since 3.4
 */
public class GeneticDrawingAboutBox
    extends javax.swing.JDialog {
  /** String containing the CVS revision. Read out via reflection!*/
  private final static String CVS_REVISION = "$Revision: 1.3 $";

  public GeneticDrawingAboutBox(java.awt.Frame parent) {
    super(parent);
    initComponents();
    getRootPane().setDefaultButton(closeButton);
  }

  @Action public void closeAboutBox() {
    dispose();
  }

  /** This method is called from within the constructor to
   * initialize the form.
   * WARNING: Do NOT modify this code. The content of this method is
   * always regenerated by the Form Editor.
   */
  // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
  private void initComponents() {
    closeButton = new javax.swing.JButton();
    javax.swing.JLabel appTitleLabel = new javax.swing.JLabel();
    javax.swing.JLabel versionLabel = new javax.swing.JLabel();
    javax.swing.JLabel appVersionLabel = new javax.swing.JLabel();
    javax.swing.JLabel vendorLabel = new javax.swing.JLabel();
    javax.swing.JLabel appVendorLabel = new javax.swing.JLabel();
    javax.swing.JLabel homepageLabel = new javax.swing.JLabel();
    javax.swing.JLabel appHomepageLabel = new javax.swing.JLabel();
    javax.swing.JLabel appDescLabel = new javax.swing.JLabel();
    javax.swing.JLabel imageLabel = new javax.swing.JLabel();
    setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
    org.jdesktop.application.ResourceMap resourceMap = org.jdesktop.application.
        Application.getInstance(examples.monalisa.gui.GeneticDrawingApp.class).
        getContext().getResourceMap(GeneticDrawingAboutBox.class);
    setTitle(resourceMap.getString("title")); // NOI18N
    setModal(true);
    setName("aboutBox"); // NOI18N
    setResizable(false);
    javax.swing.ActionMap actionMap = org.jdesktop.application.Application.
        getInstance(examples.monalisa.gui.GeneticDrawingApp.class).
        getContext().getActionMap(GeneticDrawingAboutBox.class, this);
    closeButton.setAction(actionMap.get("closeAboutBox")); // NOI18N
    closeButton.setName("closeButton"); // NOI18N
    appTitleLabel.setFont(appTitleLabel.getFont().deriveFont(appTitleLabel.
        getFont().getStyle() | java.awt.Font.BOLD,
                          appTitleLabel.getFont().getSize() + 4));
    appTitleLabel.setText(resourceMap.getString("Application.title")); // NOI18N
    appTitleLabel.setName("appTitleLabel"); // NOI18N
    versionLabel.setFont(versionLabel.getFont().deriveFont(versionLabel.getFont().
        getStyle() | java.awt.Font.BOLD));
    versionLabel.setText(resourceMap.getString("versionLabel.text")); // NOI18N
    versionLabel.setName("versionLabel"); // NOI18N
    appVersionLabel.setText(resourceMap.getString("Application.version")); // NOI18N
    appVersionLabel.setName("appVersionLabel"); // NOI18N
    vendorLabel.setFont(vendorLabel.getFont().deriveFont(vendorLabel.getFont().
        getStyle() | java.awt.Font.BOLD));
    vendorLabel.setText(resourceMap.getString("vendorLabel.text")); // NOI18N
    vendorLabel.setName("vendorLabel"); // NOI18N
    appVendorLabel.setText(resourceMap.getString("Application.vendor")); // NOI18N
    appVendorLabel.setName("appVendorLabel"); // NOI18N
    homepageLabel.setFont(homepageLabel.getFont().deriveFont(homepageLabel.
        getFont().getStyle() | java.awt.Font.BOLD));
    homepageLabel.setText(resourceMap.getString("homepageLabel.text")); // NOI18N
    homepageLabel.setName("homepageLabel"); // NOI18N
    appHomepageLabel.setText(resourceMap.getString("Application.homepage")); // NOI18N
    appHomepageLabel.setName("appHomepageLabel"); // NOI18N
    appDescLabel.setText(resourceMap.getString("appDescLabel.text")); // NOI18N
    appDescLabel.setName("appDescLabel"); // NOI18N
    imageLabel.setIcon(resourceMap.getIcon("imageLabel.icon")); // NOI18N
    imageLabel.setName("imageLabel"); // NOI18N
    org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.
        GroupLayout(getContentPane());
    getContentPane().setLayout(layout);
    layout.setHorizontalGroup(
        layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
        .add(layout.createSequentialGroup()
             .add(imageLabel)
             .add(18, 18, 18)
             .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.
        TRAILING)
                  .add(org.jdesktop.layout.GroupLayout.LEADING,
                       layout.createSequentialGroup()
                       .add(layout.createParallelGroup(org.jdesktop.layout.
        GroupLayout.LEADING)
                            .add(versionLabel)
                            .add(vendorLabel)
                            .add(homepageLabel))
                       .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                       .add(layout.createParallelGroup(org.jdesktop.layout.
        GroupLayout.LEADING)
                            .add(appVersionLabel)
                            .add(appVendorLabel)
                            .add(appHomepageLabel)))
                  .add(org.jdesktop.layout.GroupLayout.LEADING, appTitleLabel)
                  .add(org.jdesktop.layout.GroupLayout.LEADING, appDescLabel,
                       org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 367,
                       Short.MAX_VALUE)
                  .add(closeButton))
             .addContainerGap())
        );
    layout.setVerticalGroup(
        layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
        .add(imageLabel, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 222,
             Short.MAX_VALUE)
        .add(layout.createSequentialGroup()
             .addContainerGap()
             .add(appTitleLabel)
             .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
             .add(appDescLabel)
             .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
             .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.
        BASELINE)
                  .add(versionLabel)
                  .add(appVersionLabel))
             .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
             .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.
        BASELINE)
                  .add(vendorLabel)
                  .add(appVendorLabel))
             .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
             .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.
        BASELINE)
                  .add(homepageLabel)
                  .add(appHomepageLabel))
             .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED,
                              org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
                              Short.MAX_VALUE)
             .add(closeButton)
             .addContainerGap())
        );
    pack();
  } // </editor-fold>//GEN-END:initComponents

  // Variables declaration - do not modify//GEN-BEGIN:variables
  private javax.swing.JButton closeButton;
  // End of variables declaration//GEN-END:variables

}
